package com.ruoyi.cs.domain.dto.platform;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @ClassName ProductDetail
 * @Description TODO
 * @Author zz
 * @Date 2024/3/19
 **/
@Data
public class ProductDetail {

    @ApiModelProperty(value = "商品信息")
    private Object productDetail;

    @ApiModelProperty(value = "商品id")
    private Integer commodityId;

    @ApiModelProperty(value = "商品hashName")
    private String commodityHashName;

    @ApiModelProperty(value = "商品名称")
    private String commodityName;

    @ApiModelProperty(value = "商品模板id")
    private Integer commodityTemplateId;

    @ApiModelProperty(value = "steam的资产id")
    private Integer assertId;

    @ApiModelProperty(value = "商品磨损度")
    private String abrade;

    @ApiModelProperty(value = "检视链接")
    private String actions;

    @ApiModelProperty(value = "商品图片地址（取模板表）")
    private String iconUrl;

    @ApiModelProperty(value = "商品单价（单位分）")
    private Integer price;

    @ApiModelProperty(value = "商品数量")
    private Integer num;

    @ApiModelProperty(value = "皮肤编号")
    private Integer paintIndex;

    @ApiModelProperty(value = "图案模板")
    private Integer paintSeed;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "是否有无标签（0无 1有）")
    private Integer haveNameTag;

    @ApiModelProperty(value = "名称标签")
    private String nameTag;

    @ApiModelProperty(value = "是否有布章（0无1有）")
    private Integer haveClothSeal;

    @ApiModelProperty(value = "布章")
    private String clothSeal;

    @ApiModelProperty(value = "是否多普勒（0否1是）")
    private Integer isDoppler;

    @ApiModelProperty(value = "多普勒名称")
    private String dopplerName;

    @ApiModelProperty(value = "多普勒颜色")
    private String dopplerColor;

    @ApiModelProperty(value = "是否渐变色（0否1是）")
    private Integer isFade;

    @ApiModelProperty(value = "渐变色名称")
    private String fadeName;

    @ApiModelProperty(value = "渐变色颜色")
    private String fadeColor;

    @ApiModelProperty(value = "渐变色数值")
    private String fadeNumber;

    @ApiModelProperty(value = "是否表面淬火（0否1是）")
    private Integer isHardened;

    @ApiModelProperty(value = "表面淬火名称")
    private String hardenedName;

    @ApiModelProperty(value = "表面淬火颜色")
    private String hardenedColor;

    @ApiModelProperty(value = "是否有印花（0无1有）")
    private String haveSticker;

    @ApiModelProperty(value = "印花刷新状态（0未刷新1已刷新）")
    private String stickerRefreshStatus;

    @ApiModelProperty(value = "是否特殊饰品（0否1是）")
    private Integer isSpecial;

    @ApiModelProperty(value = "外观颜色")
    private String exteriorColor;

    @ApiModelProperty(value = "外观HashName")
    private String exteriorHashName;

    @ApiModelProperty(value = "外观标签主键ID")
    private Integer exteriorId;

    @ApiModelProperty(value = "外观标签名称")
    private String exteriorName;

    @ApiModelProperty(value = "收藏品颜色")
    private String itemSetColor;

    @ApiModelProperty(value = "收藏品hashName")
    private String itemSetHashName;

    @ApiModelProperty(value = "收藏品id")
    private Integer itemSetId;

    @ApiModelProperty(value = "收藏品名称")
    private String itemSetName;

    @ApiModelProperty(value = "类别颜色")
    private String qualityColor;

    @ApiModelProperty(value = "类别hashName")
    private String qualityHashName;

    @ApiModelProperty(value = "类别标签主键ID")
    private Integer qualityId;

    @ApiModelProperty(value = "类别名称")
    private String qualityName;

    @ApiModelProperty(value = "品质颜色")
    private String rarityColor;

    @ApiModelProperty(value = "品质HashName")
    private String rarityHashName;

    @ApiModelProperty(value = "品质id")
    private Integer rarityId;

    @ApiModelProperty(value = "品质名称")
    private String rarityName;

    @ApiModelProperty(value = "类型所属HashName")
    private String typeHashName;

    @ApiModelProperty(value = "所属类型图标")
    private String typeIcon;

    @ApiModelProperty(value = "所属类型标签主键ID")
    private Integer typeId;

    @ApiModelProperty(value = "所属类型名称")
    private String typeName;

    @ApiModelProperty(value = "所属武器类型hashName")
    private String weaponHashName;

    @ApiModelProperty(value = "所属武器类型标签主键ID")
    private Integer weaponId;

    @ApiModelProperty(value = "所属武器类型名称")
    private String weaponName;

    @ApiModelProperty(value = "印花集合")
    private List<Sticker> stickerList;

    @ApiModelProperty(value = "布章合集")
    private List<ClothSeal> clothSealList;


    @Data
    public static class Sticker {
        @ApiModelProperty(value = "CSGO用户库存饰品辖下印花主键ID")
        private Integer stickerId;

        @ApiModelProperty(value = "印花在原始数据中的索引(或者叫插槽ID)")
        private Integer rawIndex;

        @ApiModelProperty(value = "印花或布章名称")
        private String name;

        @ApiModelProperty(value = "印花图片地址")
        private String imgUrl;

        @ApiModelProperty(value = "印花唯一标识名称")
        private String hashName;

        @ApiModelProperty(value = "印花磨损值")
        private String abrade;

        @ApiModelProperty(value = "印花描述")
        private String abradeDesc;
    }

    @Data
    public static class ClothSeal {
        @ApiModelProperty(value = "布章在原始数据中的索引(或者叫插槽ID)")
        private Integer rawIndex;

        @ApiModelProperty(value = "布章名称")
        private String name;

        @ApiModelProperty(value = "布章图片地址")
        private String imgUrl;
    }
}
